/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

 

#ifndef ZfsModel_h
#define ZfsModel_h

@interface MountTarget :NSObject

/// 文件系统ID
@property (strong,nonatomic,nonnull)  NSString*  fileSystemId;

/// ipv4地址
@property (strong,nonatomic,nonnull)  NSString*  ipAddress;

/// 挂载目标状态
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 挂载目标ID
@property (strong,nonatomic,nonnull)  NSString*  mountTargetId;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// vpcID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// dns名称
@property (strong,nonatomic,nonnull)  NSString*  dnsName;


-(id) initWithFileSystemId:(NSString*) fileSystemId
    ipAddress:(NSString*)ipAddress
    status:(NSString*)status
    mountTargetId:(NSString*)mountTargetId
    subnetId:(NSString*)subnetId
    vpcId:(NSString*)vpcId
    createTime:(NSString*)createTime
    dnsName:(NSString*)dnsName;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ZfsTagFilter :NSObject

/// Tag键
@property (strong,nonatomic,nonnull)  NSString*  key;

/// Tag值
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  values;


-(id) initWithKey:(NSString*) key
    values:(NSArray<NSString*>*)values;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SizeByte :NSObject

/// 时间戳
@property (strong,nonatomic,nonnull)  NSString*  timestamp;

/// 文件系统使用量，单位为:Byte
@property (strong,nonatomic,nonnull)  NSNumber*  value;


-(id) initWithTimestamp:(NSString*) timestamp
    value:(NSNumber*)value;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Tag :NSObject

/// Tag键
@property (strong,nonatomic,nonnull)  NSString*  key;

/// Tag值
@property (strong,nonatomic,nonnull)  NSString*  value;


-(id) initWithKey:(NSString*) key
    value:(NSString*)value;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface FileSystem :NSObject

/// 文件系统ID
@property (strong,nonatomic,nonnull)  NSString*  fileSystemId;

/// 文件系统名称(参数规则：不可为空，只支持中文、数字、大小写字母、英文下划线“_”及中划线“-”，且不能超过32字符)
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 文件系统描述(参数规则：不能超过256字符)
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 挂载目标个数
@property (strong,nonatomic,nonnull)  NSNumber*  numberOfMountTargets;

/// 最近一次统计的文件系统的使用量单位为:Byte
@property (strong,nonatomic,nonnull)  SizeByte*  sizeByte;

/// 文件系统状态(创建中:creating、可用:available、使用中:in-use、删除中:deleting)
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 文件系统类型(通用型:gp1,容量型:std1)
@property (strong,nonatomic,nonnull)  NSString*  fileSystemType;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// dns名称
@property (strong,nonatomic,nonnull)  NSString*  dnsName;

/// Tag信息
@property (strong,nonatomic,nonnull)  NSArray<Tag*>*  tags;


-(id) initWithFileSystemId:(NSString*) fileSystemId
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    numberOfMountTargets:(NSNumber*)numberOfMountTargets
    sizeByte:(SizeByte*)sizeByte
    status:(NSString*)status
    fileSystemType:(NSString*)fileSystemType
    createTime:(NSString*)createTime
    dnsName:(NSString*)dnsName
    tags:(NSArray<Tag*>*)tags;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

#endif /* ZfsModel_h */
